package com.example.demo.factoryMethodModel;

import java.lang.reflect.Constructor;

/**
 * 负责生产单例的工厂类
 */
public class SingletonFactory {

    public static  Signleton signleton;

    static {
        try{
            Class c1 = Class.forName(Signleton.class.getName());
            // 获取无参构造方法
            Constructor constructor = c1.getDeclaredConstructor();
            // 设置无参构造方法是可以访问的
            constructor.setAccessible(true);
            // 产生一个实例对象
            signleton = (Signleton) constructor.newInstance();
        }catch (Exception e){
            // 异常处理
        }
    }

    public static Signleton getSignleton(){
        return signleton;
    }
}
